Towards Production-Run Heisenbugs Reproduction on Commercial Hardware
نویسندگان
چکیده
We present a new technique, H3, for reproducing Heisenbugs in production runs on commercial hardware. H3 integrates the hardware control flow tracing capability provided in recent Intel processors with symbolic constraint analysis. Compared to a state-of-the-art solution, CLAP, this integration allows H3 to reproduce failures with much lower runtime overhead and much more compact trace. Moreover, it allows us to develop a highly effective core-based constraint reduction technique that significantly reduces the complexity of the generated symbolic constraints. H3 has been implemented for C/C++ and evaluated on both popular benchmarks and real-world applications. It reproduces realworld Heisenbugs with overhead ranging between 1.4%23.4%, up to 8X more efficient than CLAP, and incurs only 4.9% runtime overhead on PARSEC benchmarks.
منابع مشابه
Kuda: The Split Race Checker
Numerous runtime analysis tools are designed to observe the concurrency bugs in parallel programs (i.e. heisenbugs), there exists commercial or open source types available. Whereas usability of these tools is hurt by their performance, slowdowns may reach several thousand times the application only run. Overhead of these tools can be divided to two tightly coupled jobs: tracing and analyzing. T...
متن کاملInvestigating the Effects of Hardware Parameters on Power Consumptions in SPMV Algorithms on Graphics Processing Units (GPUs)
Although Sparse matrix-vector multiplication (SPMVs) algorithms are simple, they include important parts of Linear Algebra algorithms in Mathematics and Physics areas. As these algorithms can be run in parallel, Graphics Processing Units (GPUs) has been considered as one of the best candidates to run these algorithms. In the recent years, power consumption has been considered as one of the metr...
متن کاملProtecting Applications Against Heisenbugs
Virtually-synchronous replication provides a mechanism that allows developers of missionand safety-critical applications to reduce the impact of elusive and nonreproducible bugs—commonly known as Heisenbugs—in their applications. This approach requires little or no modification to existing application code, and significantly improves the software availability.
متن کاملPhoenix Application Recovery Project
High availability for both data and applications is rapidly becoming a business requirement. Yet even after decades of software engineering research, computer systems and production applications still fail [11], primarily due to nondeterministic bugs that can typically be resolved by simply rebooting the system or restarting the application [6]. The Phoenix project takes the position that such ...
متن کاملSteps towards the automatic production of performance models of web applications
The automatic production of performance models of software products can encourage software designers to include performance validation in their best practices. The incorporation of methods for automatic production can also be of interest of CASE tool vendors to improve the capabilities of their commercial software development environments. This paper deals with a method that introduces a system...
متن کامل